﻿using Nemerle.Collections;
using Nemerle.Peg;
using Nemerle.Text;
using Nemerle.Utility;

using System;
using System.Collections.Generic;
using System.Linq;

namespace Nemerle2.Compiler
{
  /// <summary>
  /// Description of PCustomAttributesSection.
  /// </summary>
  [Record]
  public variant PCustomAttributesSection : PAst
  {
    | Content { Target : option[Splicable]; CustomAttributes : LocatedList[PCustomAttribute] }
    /// The code from quasi-quotation.
    | Expr    { Code  : PExpr; }
    | Error   { Msg   : Msg; }

    // [RecordIgnore]
    public OpenBracket     : Location;
    public CloseBracket    : Location;
    public CommaLocations  : list[Location];
  }
}
